In a point-to-point or multiple point full-duplex voice communications, if acoustic coupling exists between the receive path (e.g., a speaker) and send path (e.g., microphone) of an endpoint, echo of the talker at the far-end will be present in the microphone at the near-end. An acoustic echo canceller (AEC) is a signal processing technology used to remove this echo. The core of an AEC utilizes adaptive filters that attempt to predict and cancel this echo by modeling the acoustic echo path between the speaker and the microphone. Oftentimes, the echo that remains after the operation of these adaptive filters and other associated echo reduction modules is audible, and additional suppression techniques are needed to remove this residual echo.
A non-linear processor (NLP), also known as a microphone fading routine, is one such technique where the signal at the microphone is attenuated by an amount proportional to the strength of the signal at the speaker. In order to balance the tradeoff between suppressing residual echo and maintaining full-duplex behavior for the conversation, a conservative setting for the maximum NLP attenuation is used. This is because the signal captured at the microphone also contains speech from the local talker, and in cases where both the remote and local party are active, a strong NLP can distort the speech sent from the local talker's end.
This conservative setting for NLP attenuation is inadequate for situations that commonly occur, that of an echo path change. Since the adaptive filters do not provide sufficient cancellation, a higher-than-normal suppression is desired from the NLP to remove the echo. Additionally, having a fixed maximum attenuation for the NLP that is set to satisfy broad categories of devices and scenarios is inadequate in suppressing echo for specific cases, where there is strong acoustic coupling between the speaker and microphone, for example.